﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;

namespace iMario
{
    public abstract class Item : GameEntity
    {
        //Mục đích abstract class Item
        //  - Tập trung các thuộc tính và phương thức liên quan đến các item được sử dụng trong game và menu

        //Danh sách các thuộc tính và ý nghĩa

        //Danh sách các phương thức và ý nghĩa
        //Hàm nhân bản thêm 1 đối tượng thuộc lớp mà đối tượng đó thuộc về và trả về chính đối tượng đã được nhân bản thành công đó
        virtual public Item Clone()
        {
            //Tạm thời chưa xử lí
            return null;
        }

        //Hàm cập nhật và xử lí các vấn đề liên quan đến Item
        //  1. Tham số truyền vào:
        //      - KeyboardState _keyboard: Đại diện cho trạng thái của Keyboard
        //      - MouseState _mouse: Đại diện cho trạng thái của Mouse
        //      - GameTime _gameTime: biến đếm thời gian của game
        //  2. Giá trị trả về: Không có
        public override void Update(KeyboardState _keyboard, MouseState _mouse, GameTime _gameTime)
        {
            //Tạm thời chưa xử lí
        }
    }
}
